package com.lmind.core.auth;

/**
 * 表示一次验证会话
 * @author 刘勉
 *
 */
public interface IPermissionSession {
	
	/**
	 * 权限主体的唯一ID，一般是用户ID
	 * @return
	 */
	Object getId();
	
	/**
	 * 本次验证会话的唯一标识令牌
	 * @return
	 */
	String getToken();
	
	/**
	 * 权限主体的名称
	 * @return
	 */
	String getName();
	
	/**
	 * 获取全部的权限
	 * @return
	 */
	String[] getPermissions();
	
	/**
	 * 检测是否有指定的权限
	 * @param permission
	 * @return
	 */
	boolean hasPermissionOf(String permission);
}
